c5f80a460e346bda657ae51fea0f939e5453ad18,portal-impl/src/com/liferay/portal/staging/StagingImpl.java,StagingImpl,setRecentLayoutRevisionId,#PortalPreferences#number#number#number#,2271
Before Change
portalPreferences, layoutSetBranchId, plid);
}
else {
portalPreferences.setValue(
Staging.class.getName(),
getRecentLayoutRevisionIdKey(layoutSetBranchId, plid),
String.valueOf(layoutRevisionId));
}
}
catch (PortalException pe) {
After Change
portalPreferences, layoutSetBranchId, plid);
}
else {
String oldPortalPreferences = portalPreferences.getValue(
Staging.class.getName(), "ATTRIBUTE_MAP");
try {
JSONArray jsonArray = JSONFactoryUtil.createJSONArray();
JSONArray oldJsonArray = JSONFactoryUtil.createJSONArray(
oldPortalPreferences);
String recentLayoutRevisionIdKey =
getRecentLayoutRevisionIdKey(layoutSetBranchId, plid);
boolean alreadyExists = false;
for (int i = 0; i < oldJsonArray.length(); i ++) {
JSONObject jsonObject = oldJsonArray.getJSONObject(i);
if (Validator.isNotNull(jsonObject.getString(
recentLayoutRevisionIdKey))) {
alreadyExists = true;
jsonObject.remove(recentLayoutRevisionIdKey);
jsonObject.put(recentLayoutRevisionIdKey,
String.valueOf(layoutRevisionId));
}
jsonArray.put(jsonObject);
}
if (!alreadyExists) {
JSONObject jsonObject =
JSONFactoryUtil.createJSONObject();
jsonObject.put(recentLayoutRevisionIdKey,
String.valueOf(layoutRevisionId));
jsonArray.put(jsonObject);
}
portalPreferences.setValue(
Staging.class.getName(), "ATTRIBUTE_MAP",
jsonArray.toString());
}
catch (JSONException je) {
if (_log.isWarnEnabled()) {